package proto

import (
	"regexp"
	"sort"
	D "websocket_apn/define"
	"websocket_apn/log"
)

/*
[DEBUG] [2024/07/06 08:52:20] [PRJ/websocket_apn/main_test.go]:[  193]:   ↑↑↑↑↑ S_ASKWAY_MATCH - len:25
[DEBUG] [2024/07/06 08:52:20] [PRJ/websocket_apn/main_test.go]:[  197]:   PayloadBytes: 71 AB 00 00 00 19 00 03 25 16 00 00 02D4 08 94 30 6F 08 BC D6 D5 04 10 00
[DEBUG] [2024/07/06 08:52:20] [PRJ/websocket_apn/main_test.go]:[  195]:   ↓↓↓↓↓ game cmd[6102]-unkown - len:224
[DEBUG] [2024/07/06 08:52:20] [PRJ/websocket_apn/main_test.go]:[  197]:   PayloadBytes: 71 AB 00 00 00 E0 00 00 17 D6 00 00 02D4 08 94 30 6F 08 00 12 C9 01 08 D0 0F 10 05 18 00 20 01 2A B4 01 0A 3B 12 36 08 CC A6 B1 D5 C0 5A 12 0C E9 82 B9 E7 89 99 E4 BF AE E5 A3 AB 18 90 02 22 08 36 31 34 32 35 33 36 39 28 AA E5 08 30 91 4E 38 E7 E6 BD 01 40 D1 FA 06 48 01 50 0018 88 04 0A 3B 12 36 08 91 F1 EA D5 C0 5A 12 0C E8 8A AE E5 A3 AE E9 81 93 E5 B0 8A 18 EF 01 22 08 36 30 35 37 30 35 33 32 28 AA E5 08 30 92 4E 38 E8 E6 BD 01 40 D1 FA 06 48 01 50 00 18 84 02 0A 38 12 33 08 9D E0 F0 C9 C0 5A 12 09 E9 98 BFE7 AB A5 E6 9C A8 18 90 02 22 08 36 30 31 38 35 38 37 32 28 AA E5 08 30 93 4E 38 CF E6 BD 01 40 D1 FA 06 48 00 50 00 18 C8 01 38 00 40 02 48 BF AA DC 25
[DEBUG] [2024/07/06 08:52:20] [PRJ/websocket_apn/main_test.go]:[  199]:   	>>> 1 - code 08[8] len:0-_
[DEBUG] [2024/07/06 08:52:20] [PRJ/websocket_apn/main_test.go]:[  199]:   	>>> 2 - code 12[18] len:201-01 08 D0 0F 10 05 18 00 20 01 2A B4 01 0A 3B 12 36 08 CC A6 B1 D5 C0 5A 12 0C E9 82 B9 E7 89 99 E4 BF AE E5 A3 AB 18 90 02 22 08 36 31 34 32 35 33 36 39 28 AA E5 08 3091 4E 38 E7 E6 BD 01 40 D1 FA 06 48 01 50 00 18 88 04 0A 3B 12 36 08 91 F1 EA D5 C0 5A 12 0C E8 8A AE E5 A3 AE E9 81 93 E5 B0 8A 18 EF 01 22 08 36 30 35 37 30 35 33 32 28 AA E5 08 30 92 4E 38 E8 E6 BD 01 40 D1 FA 06 48 01 50 00 18 84 02 0A38 12 33 08 9D E0 F0 C9 C0 5A 12 09 E9 98 BF E7 AB A5 E6 9C A8 18 90 02 22 08 36 30 31 38 35 38 37 32 28 AA E5 08 30 93 4E 38 CF E6 BD 01 40 D1 FA 06 48 00 50 00 18 C8 01 38 00 40 02 48 BF AA DC_
�  *�
;̦���Z邹牙修士�61425369(�0�N8���@��HP �
;�����Z芮壮道尊�60570532(�0�N8���@��HP �
8�����Z	阿童木�60185872(�0�N8���@��H P �8 @H���
[DEBUG] [2024/07/06 09:11:23] [PRJ/websocket_apn/main_test.go]:[  193]:   ↑↑↑↑↑ S_ASKWAY_ENTER - len:23
[DEBUG] [2024/07/06 09:11:23] [PRJ/websocket_apn/main_test.go]:[  197]:   PayloadBytes: 71 AB 00 00 00 17 00 03 25 15 00 00 02D4 08 94 30 6F 08 BC D6 D5 04
[DEBUG] [2024/10/02 10:17:42] [PRJ/websocket_apn/main_test.go]:[  195]:   ↓↓↓↓↓ S_ASKWAY_ENTER_RSP - len:341
[DEBUG] [2024/10/02 10:17:42] [PRJ/websocket_apn/main_test.go]:[  200]:   PayloadBytes: 71 AB 00 00 01 55 00 00 17 D5 00 00 02D4 07 01 81 E2 08 00 10 F1 CB E7 04 1A CD 01 08 D0 0F 10 05 18 00 20 00 2A B7 01 0A 40 12 3B 08 C8 9D DB B6 C0 5A 12 0F E9 80 8D E9 81 A5 E3 80 81 E5 B7 B4 E6 96 AF 18 F0 04 22 0A 35 33 34 39 31 37 31 32 33 38 28 CD E5 08 30 93 4E 38 A7 E6BD 01 40 D1 FA 06 48 03 50 00 18 88 04 0A 3A 12 35 08 B0 EB EA DC C0 5A 12 09 E7 BE 8E E6 B1 90 E5 AD 90 18 DE 04 22 0A 35 31 36 35 33 37 32 32 39 36 28 CD E5 08 30 93 4E 38 F7 E6 BD 01 40 BB 82 07 48 01 50 00 18 84 02 0A 37 12 32 08 91 84A3 F5 C0 5A 12 06 E5 8C 97 E6 B2 90 18 E4 04 22 0A 34 38 38 32 34 34 35 36 31 34 28 CB E5 08 30 93 4E 38 AA E7 BD 01 40 D1 FA 06 48 03 50 00 18 C8 01 38 00 40 05 48 DF AE DF 95 19 2A 0F 08 01 10 9C 01 18 EB 01 20 EB 01 28 08 28 08 2A 0F 0802 10 EC 01 18 CF 02 20 CF 02 28 08 28 08 2A 0F 08 03 10 D0 02 18 C7 03 20 C7 03 28 08 28 08 2A 0F 08 04 10 C8 03 18 D3 04 20 D3 04 28 08 28 08 2A 0F 08 05 10 D4 04 18 F3 05 20 F3 05 28 08 28 08 2A 0F 08 06 10 F4 05 18 8F 4E 20 A7 0728 04 28 02 48 01 58 05 70 00
[DEBUG] [2024/10/02 10:17:42] [PRJ/websocket_apn/main_test.go]:[  203]:   	>>> 1 - code 08[8] len:0-_
[DEBUG] [2024/10/02 10:17:42] [PRJ/websocket_apn/main_test.go]:[  203]:   	>>> 2 - code 10[16] len:241-CB E7 04 1A CD 01 08 D0 0F 10 05 18 00 20 00 2A B7 01 0A 40 12 3B 08 C8 9D DB B6 C0 5A 12 0F E9 80 8D E9 81 A5 E3 80 81 E5 B7 B4 E6 96 AF 18 F0 04 22 0A 35 33 34 39 3137 31 32 33 38 28 CD E5 08 30 93 4E 38 A7 E6 BD 01 40 D1 FA 06 48 03 50 00 18 88 04 0A 3A 12 35 08 B0 EB EA DC C0 5A 12 09 E7 BE 8E E6 B1 90 E5 AD 90 18 DE 04 22 0A 35 31 36 35 33 37 32 32 39 36 28 CD E5 08 30 93 4E 38 F7 E6 BD 01 40 BB 8207 48 01 50 00 18 84 02 0A 37 12 32 08 91 84 A3 F5 C0 5A 12 06 E5 8C 97 E6 B2 90 18 E4 04 22 0A 34 38 38 32 34 34 35 36 31 34 28 CB E5 08 30 93 4E 38 AA E7 BD 01 40 D1 FA 06 48 03 50 00 18 C8 01 38 00 40 05 48 DF AE DF 95 19 2A 0F 08 01 109C 01 18 EB 01 20 EB 01 28 08 28 08 2A 0F 08 02 10 EC 01 18 CF 02 20 CF 02_
����   *�
@ȝ۶�Z逍遥、巴斯�"
5349171238(�0�N8���@��HP �
:�����Z	美汐子�"
5165372296(�0�N8���@��HP �
7�����Z北沐�"
4882445614(�0�N8���@��HP �8 @H߮ߕ*�� �*�� �
08 00 10 EE CB E7 04 1A E0 01 08 98 11 10 03 18 00 20 07 2A CA 01 0A 43 12 3E 08 A2 AD 81 E9 C0 5A 12 12 E7 82 B8 E5 A4 A9 E5 B8 AE EF BC 8C E5 91 A8 E5 A4 A9 18 D3 04 22 0A 34 31 33 30 38 37 35 33 34 33 28 CD E5 08 30 94 4E38 90 E7 BD 01 40 D1 FA 06 48 02 50 00 18 88 04 0A 41 12 3C 08 DD DF B1 82 C1 5A 12 10 E9 9B B6 E6 B0 AA F0 9F 92 AB E9 9D 92 E8 8E B2 18 D3 04 22 0A 34 33 34 31 37 34 37 37 32 30 28 CB E5 08 30 94 4E 38 C5 E7 BD 01 40 D1 FA 06 48 00 50 0018 84 02 0A 40 12 3B 08 E8 ED E4 C4 C0 5A 12 0F E4 B8 80 E6 A2 A6 E3 80 81 E5 A7 8B E7 BB 88 18 D3 04 22 0A 34 36 36 38 35 33 31 33 31 34 28 AB E5 08 30 AE 4E 38 C4 E6 BD 01 40 D1 FA 06 48 03 50 00 18 C8 01 38 00 40 04 48 EF D0 C7 B9 08 2A0F 08 01 10 9C 01 18 EB 01 20 EB 01 28 08 28 08 2A 0F 08 02 10 EC 01 18 CF 02 20 CF 02 28 08 28 08 2A 0F 08 03 10 D0 02 18 C7 03 20 C7 03 28 08 28 08 2A 0F 08 04 10 C8 03 18 D3 04 20 D3 04 28 08 28 08 2A 0F 08 05 10 D4 04 18 F3 05 20F3 05 28 08 28 08 2A 0F 08 06 10 F4 05 18 8F 4E 20 A7 07 28 04 28 02 48 01 58 05 70 00

71 AB 00 00 01 55 00 00 17 D5 00 00 02D4 07 01 81 E2
08 00 10 F1 CB E7 04 1A CD 01 08 D0 0F 10 05 18 00 20 00 2A B7 01
0A 40 12 3B 08 C8 9D DB B6 C0 5A 12 0F E9 80 8D E9 81 A5 E3 80 81 E5 B7 B4 E6 96 AF 18 F0 04 22 0A 35 33 34 39 31 37 31 32 33 38 28 CD E5 08 30 93 4E 38 A7 E6 BD 01 40 D1 FA 06 48 03 50 00 18 88 04
0A 3A 12 35 08 B0 EB EA DC C0 5A 12 09 E7 BE 8E E6 B1 90 E5 AD 90                   18 DE 04 22 0A 35 31 36 35 33 37 32 32 39 36 28 CD E5 08 30 93 4E 38 F7 E6 BD 01 40 BB 82 07 48 01 50 00 18 84 02
0A 37 12 32 08 91 84 A3 F5 C0 5A 12 06 E5 8C 97 E6 B2 90                            18 E4 04 22 0A 34 38 38 32 34 34 35 36 31 34 28 CB E5 08 30 93 4E 38 AA E7 BD 01 40 D1 FA 06 48 03 50 00 18 C8 01
38 00 40 05 48 DF AE DF 95 19
2A 0F 08 01 10 9C 01 18 EB 01 20 EB 01 28 08 28 08
2A 0F 08 02 10 EC 01 18 CF 02 20 CF 02 28 08 28 08
2A 0F 08 03 10 D0 02 18 C7 03 20 C7 03 28 08 28 08
2A 0F 08 04 10 C8 03 18 D3 04 20 D3 04 28 08 28 08
2A 0F 08 05 10 D4 04 18 F3 05 20 F3 05 28 08 28 08
2A 0F 08 06 10 F4 05 18 8F 4E 20 A7 07 28 04 28 02
48 01 58 05 70 00
71 AB 00 00 01 59 00 00 17 D5 00 00 02D4 07 01 81 E2
08 00 10 F1 CB E7 04 1A D1 01 08 D8 13 10 04 18 00 20 00 2A BB 01 0A 37
12 32 08 E7 83 FF F3 C0 5A 12 06 E5 8F A4 E6 9C 88                               18 D8 04 22 0A 35 34 31 34 36 33 32 37 33 37 28 CB E5 08 30 9B 4E 38 A7 E7 BD 01 40 D1 FA 06 48 03 50 00 18 88 04 0A 3D
12 38 08 FF B6 AC F2 C0 5A 12 0C E9 AD 94 E4 B8 B6 E7 8E 8B E5 AF A8             18 F8 04 22 0A 34 38 32 39 38 32 37 37 38 37 28 AB E5 08 30 9E 4E 38 A4 E7 BD 01 40 D1 FA 06 48 03 50 00 18 84 02 0A 41
12 3C 08 88 F8 DD E5 C0 5A 12 10 E6 9F B4 E5 8E A8 E5 A4 A7 E5 A4 A9 E5 B0 8A 31 18 EB 04 22 0A 34 35 35 30 39 32 36 37 39 32 28 B4 E5 08 30 AB 4E 38 89 E7 BD 01 40 D1 FA 06 48 04 50 00 18 C8 01 38 00
40 05 48 DF AE DF 95 19
2A 0F 08 01 10 9C 01 18 EB 01 20 EB 01 28 08 28 08
2A 0F 08 02 10 EC 01 18 CF 02 20 CF 02 28 08 28 08
2A 0F 08 03 10 D0 02 18 C7 03 20 C7 03 28 08 28 08
2A 0F 08 04 10 C8 03 18 D3 04 20 D3 04 28 08 28 08
2A 0F 08 05 10 D4 04 18 F3 05 20 F3 05 28 08 28 08
2A 0F 08 06 10 F4 05 18 8F 4E 20 A7 07 28 04 28 02
48 01 58 05 70 00
71 AB 00 00 01 68 00 00 17 D5 00 00 02D4 07 01 81 E2
08 00 10 F1 CB E7 04 1A E0 01 08 D8 13 10 03 18 00 20 01 2A CA 01 0A 40
08 00 10 F1 CB E7 04 1A DC 01 08 D8 13 10 03 18 00 20 03 2A C6 01 0A 40 12 3B 08 C9 EA 82 BE C0 5A 12 0F E5 8D 88 E5 A4 9C E2 9C A8 E7 89 9B E9 83 8E 18 8E 05 22 0A 37 33 39 39 31 39 35 37 30 39 28 CB E5 08 30 93 4E 38 B6 E6BD 01 40 D1 FA 06 48 05 50 00 18 88 04 0A 3F 12 3A 08 B5 86 C6 DB C0 5A 12 0D E8 B7 AF E4 BA BA 5F E6 A5 93 E5 BA AD 18 D5 05 22 0B 31 31 32 31 32 36 35 38 32 39 30 28 CB E5 08 30 AE 4E 38 F4 E6 BD 01 40 D7 FA 06 48 02 50 00 18 84 02 0A 4112 3C 08 8B C2 8E 81 C1 5A 12 0F E7 BB 98 E4 B8 96 E2 99 8B E6 9C A8 E5 A4 B4 18 C9 05 22 0B 31 34 33 33 39 36 37 30 31 34 35 28 C2 E5 08 30 AD 4E 38 C3 E7 BD 01 40 B9 82 07 48 03 50 00 18 C8 01 38 00 40 05 48 DF AE DF 95 19 2A 0F 08 01 109C 01 18 EB 01 20 EB 01 28 08 28 08 2A 0F 08 02 10 EC 01 18 CF 02 20 CF 02 28 08 28 08 2A 0F 08 03 10 D0 02 18 C7 03 20 C7 03 28 08 28 08 2A 0F 08 04 10 C8 03 18 D3 04 20 D3 04 28 08 28 08 2A 0F 08 05 10 D4 04 18 F3 05 20 F3 05 28 0828 08 2A 0F 08 06 10 F4 05 18 8F 4E 20 A7 07 28 04 28 02 48 01 58 05 70 00

0	1	2	3	4	5	6	7	8	9
10	9	8	7	6	5	4	3	2	1
*///查看问道盛会结果
func ParaAskWayInfo(dataBytes []byte) D.AskWayInfo {
	var allInfo D.AskWayInfo
	if len(dataBytes) > 8 && dataBytes[0] != 0x08 && dataBytes[1] != 0x00 {
		allInfo.Flag = false
		return allInfo
	}
	if len(dataBytes) < 8 {
		return allInfo
	}
	data := BytesToHexStr(dataBytes)

	// 定义正则表达式                   1 剩余次数				 2已刷新次数
	ref := regexp.MustCompile(`12[0-9A-F]{4}08[0-9A-F]{2}1A12[0-9A-F]{4}0A[0-9A-F]{4}0A[0-9A-F]{4}08([0-9A-F]{12})10(?:[0-9A-F]{2})+?1A[0-9A-F]{2}((?:3[0-9])+?)1A[0-9A-F]{4}0A[0-9A-F]{4}0A[0-9A-F]{4}08([0-9A-F]{12})10(?:[0-9A-F]{2})+?1A[0-9A-F]{2}((?:3[0-9])+?)2800`)
	ref0 := ref.FindAllStringSubmatch(data, -1)
	if len(ref0) > 0 && len(ref0[0]) > 0 {
		id1 := ref0[0][1]
		val1 := HexDataStrToInt64(ref0[0][2])
		id2 := ref0[0][3]
		val2 := HexDataStrToInt64(ref0[0][4])
		info := D.SkyWarPersonInfo{
			ID:          id1,  //用户ID
			CombatValue: val1, //妖力
		}
		if val1 < val2 {
			info.ID = id2
			info.CombatValue = val2
		}
		allInfo.People = append(allInfo.People, info)
		allInfo.Flag = false
		return allInfo
	}

	// 定义正则表达式                   1 剩余次数				 2已刷新次数
	re0 := regexp.MustCompile(`10(0[0-9])18[0-9A-F]{2}20(0[0-9A-F])2A`)
	res0 := re0.FindAllStringSubmatch(data, -1)
	if len(res0) == 0 {
		log.Errorf("解析数据失败-%s", data)
	}
	if len(res0) > 0 && len(res0[0]) > 0 {
		allInfo.FightCount = int(OneByteHexStrToByte(res0[0][1]))
		allInfo.RefreshCount = 10 - int(OneByteHexStrToByte(res0[0][2]))
	}
	// 定义正则表达式                                         1 当前分组
	re1 := regexp.MustCompile(`38(?:[0-9A-F]{2}){1,6}40([0-9A-F]{2})48`)
	res1 := re1.FindAllStringSubmatch(data, -1)
	if len(res1) == 0 {
		log.Errorf("解析数据失败-%s", data)
	}
	if len(res1) > 0 && len(res1[0]) > 1 {
		allInfo.Group = int(OneByteHexStrToByte(res1[0][1]))
	}
	// 定义正则表达式                     1 用户ID					                                                                   2用户名字				                              3妖力
	re := regexp.MustCompile(`08([0-9A-F]{12})10[0-9A-F]{8}18(?:[0-9A-F]{2}){1,10}22(?:00|(?:[0-9A-F]{2})+?)12[0-9A-F]{2}((?:[0-9A-F]{2})+?)10(?:[0-9A-F]{2}){2,5}1A[0-9A-F]{2}((?:3[0-9])+?)(28|1A)`)
	res := re.FindAllStringSubmatch(data, -1)
	if len(res) == 0 {
		log.Errorf("解析数据失败-%s", data)
	}
	// 打印结果
	for _, regRes := range res {
		info := D.SkyWarPersonInfo{
			UserID:      regRes[1],                    //用户ID
			Name:        HexDataStrToStr(regRes[2]),   //用户名字
			CombatValue: HexDataStrToInt64(regRes[3]), //妖力
			//ID          string //ID
		}
		allInfo.People = append(allInfo.People, info)
	}
	sort.Sort(D.SkyWarPersonInfoArray(allInfo.People))
	for _, info := range allInfo.People {
		log.Debugf("id:%s 妖力：%s name:%+v", info.UserID, D.GetCombatValueDesc(info.CombatValue), info.Name)
	}
	allInfo.Flag = true
	log.Debugf("Flag:%t FightCount:%d RefreshCount:%d Group:%d", allInfo.Flag, allInfo.FightCount, allInfo.RefreshCount, allInfo.Group)
	return allInfo
}
